﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TImSdk
{
    /// <summary>
    /// 群组系统消息元素
    /// </summary>
    public class GroupTipsElem: Elem
    {
        /// <summary>
        /// 群消息类型
        /// </summary>
        [JsonProperty("group_tips_elem_tip_type")]
        public TIMGroupTipType Group_Tips_Elem_Tip_Type {get;set;}
        /// <summary>
        ///  操作者ID
        /// </summary>
        [JsonProperty("group_tips_elem_tip_type")]
        public string Group_Tips_Elem_Op_User{get;set;}
        /// <summary>
        ///  群组名称
        /// </summary>
        [JsonProperty("group_tips_elem_group_name")]
        public string Group_Tips_Elem_Group_Name{get;set;}
        /// <summary>
        /// 群组ID
        /// </summary>
        [JsonProperty("group_tips_elem_group_id")]
        public string Group_Tips_Elem_Group_Id{get;set;}
        /// <summary>
        /// 群消息时间
        /// </summary>
        [JsonProperty("group_tips_elem_time")]
        public string Group_Tips_Elem_Time{get;set;}
        /// <summary>
        /// 被操作的帐号列表
        /// </summary>
        [JsonProperty("group_tips_elem_user_array")]
        public string Group_Tips_Elem_User_Array{get;set;}
        /// <summary>
        /// 只读, 群资料变更信息列表,仅当 tips_type 值为 kTIMGroupTip_GroupInfoChange 时有效
        /// </summary>
        [JsonProperty("group_tips_elem_group_change_info_array")]
        public List<GroupTipGroupChangeInfo> Group_Tips_Elem_Group_Change_Info_Array{get;set;}
        /// <summary>
        /// 只读, 群成员变更信息列表,仅当 tips_type 值为 kTIMGroupTip_MemberInfoChange 时有效
        /// </summary>
        [JsonProperty("group_tips_elem_member_change_info_array")]
        public List<GroupTipMemberChangeInfo> Group_Tips_Elem_Member_Change_Info_Array {get;set;}
        /// <summary>
        /// 操作者个人资料
        /// </summary>
        [JsonProperty("group_tips_elem_op_user_info")]
        public UserProfile Group_Tips_Elem_Op_User_Info {get;set;}
        /// <summary>
        /// 群成员信息
        /// </summary>
        [JsonProperty("group_tips_elem_op_group_memberinfo")]
        public GroupMemberInfo Group_Tips_Elem_Op_Group_Memberinfo {get;set;}
        /// <summary>
        /// 被操作者列表资料
        /// </summary>
        [JsonProperty("group_tips_elem_changed_user_info_array")]
        public List<UserProfile> Group_Tips_Elem_Changed_User_Info_Array {get;set;}
        /// <summary>
        /// 群成员信息列表
        /// </summary>
        [JsonProperty("group_tips_elem_changed_group_memberinfo_array")]
        public List<GroupMemberInfo> Group_Tips_Elem_Changed_Group_Memberinfo_Array{get;set;} // array [GroupMemberInfo](),       只读, 群成员信息列表
        /// <summary>
        /// 只读, 当前群成员数,只有当事件消息类型为 kTIMGroupTip_Invite 、 kTIMGroupTip_Quit 、 kTIMGroupTip_Kick 时有效
        /// </summary>
        [JsonProperty("group_tips_elem_member_num")]
        public string Group_Tips_Elem_Member_Num{get;set;}
        /// <summary>
        ///  // string, 只读, 操作方平台信息
        /// </summary>
        [JsonProperty("group_tips_elem_platform")]
        public string Group_Tips_Elem_Platform{get;set;}                      
    }
}
